草庐IT

Python bool 方法命名约定

全部标签

ruby - 安装新 Ruby gem 时 RDoc::TopLevel:Class 的未定义方法 `reset'

例如,$geminstallnetaddrFetching:netaddr-1.5.1.gem(100%)Successfullyinstallednetaddr-1.5.1ERROR:Whileexecutinggem...(NoMethodError)undefinedmethod`reset'forRDoc::TopLevel:Class当我安装任何新的gem时,NoMethodError异常不断出现。我用谷歌搜索并搜索了RDoc和RubyGemsGitHub存储库中的问题,但一无所获。我的Ruby版本是$ruby-vruby2.3.0p0(2015-12-25revision5

ruby - 如何对命名空间中的模型执行 has_many

Rails3为我们提供了这些很棒的生成器,可以将模型和Controller放入命名空间,哇!但现在我无法将它们与其他模型相关联。我正在尝试通过与命名空间模型关联来实现has_many。我已经在互联网上搜索了几天,但没有找到任何示例。/app/models/templates/practice.rbclassTemplates::Practice"position",:dependent=>:destroy,:class=>'Templates::PracticeSequence'has_many:seasons,:through=>:practice_sequences,:order=

ruby-on-rails - 你能覆盖 Ruby 中的别名方法吗?

在Ruby中,当方法被别名时,别名指向原始方法的主体。所以即使你重新定义了原来的方法,别名也会继续使用原来的定义。classFoodefbar"bar"endalias:saloon:barendclassFoodefbar"BAR"endendputsFoo.new.saloon将返回'bar'而不是'BAR'。有没有办法让沙龙使用酒吧的新定义?编辑:我应该更清楚。该示例只是问题的说明-这不是我需要解决的实际问题。当您在rails的核心中链接别名时,问题会更加复杂。例如。perform_action以基准测试模块为别名,然后也以flash模块为别名。所以现在对perform_acti

ruby - 当我不提供方法名称时,为什么 Ruby 会调用 `call` 方法?

给定以下模块:moduleFoodefself.call'foo'endend我当然希望以下内容有效:putsFoo.call#outputs"foo"但是,我没想到这会起作用:putsFoo.()#outputs"foo"显然,当方法名称被省略时,Ruby假定我想调用call方法。这在哪里记录,为什么它会这样? 最佳答案 Proc#call:Invokestheblock,settingtheblock’sparameterstothevaluesinparamsusingsomethingclosetomethodcalling

ruby - 为什么在初始化时不使用 setter 方法?

最近我一直在阅读“Ruby中的实用面向对象设计”,我注意到最佳实践之一是使用访问器方法而不是直接获取@instance_variable。例如:classFooattr_accessor:bardefinitialize(my_argument)@bar=my_argumentend#bad#deflorem_ipsum#@bar*999#end#gooddeflorem_ipsumbar*999endend让事情保持干燥是有意义的,并且,以防万一我需要在实际获取它的值之前以某种方式处理@bar。但是,我注意到initialize方法直接设置了@bar实例变量的值:classFooat

ruby-on-rails - 解析 URL 以提取域的最佳方法是什么?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:RubycodetoextracthostfromURLstring我发现这个模块叫做URI可以解析url。(我是ruby​​的新手。在这种情况下,“模块”是否与“库”同义?)然后您可以提取主机名。uri=URI.parse("http://www.ruby-lang.org/")...puri.host#=>"www.ruby-lang.org"据此,我想您可以删除“www.”并使用正则表达式保留其他子域。有没有人有更直接的替代方法或者这种方法是否正确?

ruby-on-rails - 如何在模型中调用 ApplicationController 中定义的方法

我在ApplicationController中定义了方法classApplicationController当我在模型中调用这个方法时classOrder它抛出错误undefinedlocalvariableget_active_gateway。所以我写了classOrder然后它抛出errorundefinedmethodnilforNilclass。我正在使用Rails3.2.0。 最佳答案 为什么需要这样的东西?该模型不应该知道它的Controller。在这种情况下,重新设计系统可能更合适。这是类似thread的链接.

ruby - 从外部方法在 ruby​​ 循环上调用 next

在Ruby中很容易告诉循环转到下一个项目(1..10).eachdo|a|nextifa.even?putsaend结果=>13579但是如果我需要从循环外调用next(例如:方法)怎么办defmy_complex_method(item)nextifitem.even?#thiswillobviouslyfailend(1..10).eachdo|a|my_complex_method(a)putsaend我找到并有效的唯一解决方案是使用throw&catch就像在SO问题HowtobreakoutercycleinRuby?中一样defmy_complex_method(item)

ruby-on-rails - .rewind 方法对 ruby​​ 中的 Tempfile 做了什么?

我已经查看了thesedocs和谷歌,似乎无法找到.rewind的目的,以及它与.close的区别,在使用Tempfile.另外,为什么.read在倒带前返回一个空字符串?这是一个例子:file=Tempfile.new('foo')file.path#=>AuniquefilenameintheOS'stempdirectory,#e.g.:"/tmp/foo.24722.0"#Thisfilenamecontains'foo'initsbasename.file.write("helloworld")file.rewindfile.read#=>"helloworld"file.c

访问数组中第一个/最后一个元素的 Ruby 约定

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion这是一个关于约定的问题。下面的两组命令返回相同的结果。a=[1,2,3]a.first#=>1a[0]#=>1a.last#=>3a[-1]#=>3在Ruby中,哪一个是首选,显式索引还是函数?当然,假设这是总是访问第一个或最后一个元素的代码。注意:我一直在考虑每个周期所花费的时间。因为first和last接受参数,所以它们会有更多的开销,但我不知道这是否会影响社区的偏好。谢谢!编辑如果您